Debugovani COM knihovny ...

Otázka od: Petr Reichl

4. 5. 2004 14:04

Zdravim vsechny ...

Mam mensi problem s debugovanim COM knihovny. Vytvoril jsem si pro ucely
debugovani dalsi program, ktery importuje Type Library dane knihovny a
vola urcitou metodu ...

V projektu COM knihovny mam v Run\Parameters nastavenou cestu binarce
toho demo projektu. Pokud spustit COM, nabehne demo projekt, ale Delphi
mi neumozni debugovat. Proste se to na brakepointu nezastavi ...

Nevite nekdo cim by to mohlo byt? Jinak mam zapnute vsechny debug
informace ...

Dekuji za radu,

Petr


Odpovedá: Martin Schayna

4. 5. 2004 14:47

Petr Reichl <meap-conf@meap.cz> wrote:
> V projektu COM knihovny mam v Run\Parameters nastavenou cestu binarce
> toho demo projektu. Pokud spustit COM, nabehne demo projekt, ale
> Delphi mi neumozni debugovat. Proste se to na brakepointu nezastavi

Predpokladam ze mate WinXP a D5(?) a ladit in-process COM server (DLL).
Vyzkousejte tento postup:
1) Ctrl+Alt+M, prave tlacitko "Add Module...", pridat DLL do seznamu
2) prave tlacitko "Break On Load" nastavit na DLL
3) spustit host aplikaci F9 a pockat az se IDE zastavi pri loadnuti DLL
4) znovu Ctrl+Alt+M, prave tlacitko "Reload Symbol Table" a vyhledat DLL
5) v IDE se objevi tecky a DLL je mozne ladit

Na Win2000 lze ladit DLL bez teto opicarny.
Nevim jak to funguje na jinych Delphi, na D7 teprve budeme prechazet.
Existuji navody kterak to rozchodit i jinym zpusobem, ale me nic jineho
nefungovalo.

Martin Schayna


Odpovedá: Petr Reichl

4. 5. 2004 15:43

Dekuji za radu ... problem je v tom, ze se me IDE nezastavi pri loudnuti
DLL.

DLL se ovsem v seznamu objevi, ale neni tam jeji umisteni ...

P.S.: Ano, mam Delphi 5 a WinXP ...

> Petr Reichl <meap-conf@meap.cz> wrote:
>
>>V projektu COM knihovny mam v Run\Parameters nastavenou cestu binarce
>>toho demo projektu. Pokud spustit COM, nabehne demo projekt, ale
>>Delphi mi neumozni debugovat. Proste se to na brakepointu nezastavi
>
>
> Predpokladam ze mate WinXP a D5(?) a ladit in-process COM server (DLL).
> Vyzkousejte tento postup:
> 1) Ctrl+Alt+M, prave tlacitko "Add Module...", pridat DLL do seznamu
> 2) prave tlacitko "Break On Load" nastavit na DLL
> 3) spustit host aplikaci F9 a pockat az se IDE zastavi pri loadnuti DLL
> 4) znovu Ctrl+Alt+M, prave tlacitko "Reload Symbol Table" a vyhledat DLL
> 5) v IDE se objevi tecky a DLL je mozne ladit
>
> Na Win2000 lze ladit DLL bez teto opicarny.
> Nevim jak to funguje na jinych Delphi, na D7 teprve budeme prechazet.
> Existuji navody kterak to rozchodit i jinym zpusobem, ale me nic jineho
> nefungovalo.
>
> Martin Schayna
>
>
>


Odpovedá: Petr Reichl

4. 5. 2004 15:46

Podarilo se mi docilit toho, ze se mi IDE zastavi pri nahrani DLL,
nicmene se tecky nezobrazi a tudiz Debugovani nefunguje ...

Nemate nahodou nejaky odkaz na jine zpusoby jak to zprovoznit? Google mi
v tomhle moc nepomohl ...

> Petr Reichl <meap-conf@meap.cz> wrote:
>
>>V projektu COM knihovny mam v Run\Parameters nastavenou cestu binarce
>>toho demo projektu. Pokud spustit COM, nabehne demo projekt, ale
>>Delphi mi neumozni debugovat. Proste se to na brakepointu nezastavi
>
>
> Predpokladam ze mate WinXP a D5(?) a ladit in-process COM server (DLL).
> Vyzkousejte tento postup:
> 1) Ctrl+Alt+M, prave tlacitko "Add Module...", pridat DLL do seznamu
> 2) prave tlacitko "Break On Load" nastavit na DLL
> 3) spustit host aplikaci F9 a pockat az se IDE zastavi pri loadnuti DLL
> 4) znovu Ctrl+Alt+M, prave tlacitko "Reload Symbol Table" a vyhledat DLL
> 5) v IDE se objevi tecky a DLL je mozne ladit
>
> Na Win2000 lze ladit DLL bez teto opicarny.
> Nevim jak to funguje na jinych Delphi, na D7 teprve budeme prechazet.
> Existuji navody kterak to rozchodit i jinym zpusobem, ale me nic jineho
> nefungovalo.
>
> Martin Schayna
>
>
>


Odpovedá: Petr Reichl

4. 5. 2004 15:38

Tak uz to chodi ...

Nemel jsem zapnuty v Project Options\Linker

Include TD32 debug info a Include remote debug symbols.

Ted uz to funguje, takze jeste jednou diky za radu ...

> Zdravim vsechny ...
>
> Mam mensi problem s debugovanim COM knihovny. Vytvoril jsem si pro ucely
> debugovani dalsi program, ktery importuje Type Library dane knihovny a
> vola urcitou metodu ...
>
> V projektu COM knihovny mam v Run\Parameters nastavenou cestu binarce
> toho demo projektu. Pokud spustit COM, nabehne demo projekt, ale Delphi
> mi neumozni debugovat. Proste se to na brakepointu nezastavi ...
>
> Nevite nekdo cim by to mohlo byt? Jinak mam zapnute vsechny debug
> informace ...
>
> Dekuji za radu,
>
> Petr
>
>


Odpovedá: Ondrej Kelle

4. 5. 2004 15:48

> V projektu COM knihovny mam v Run\Parameters nastavenou cestu binarce
> toho demo projektu. Pokud spustit COM, nabehne demo projekt,
> ale Delphi mi neumozni debugovat. Proste se to na brakepointu nezastavi
...
>
> Nevite nekdo cim by to mohlo byt? Jinak mam zapnute vsechny debug
> informace ...

Skus zapnut aj "Include remote debug symbols" v Linker Options (a nasledne
Build) a ak mas v projekte tej COM DLL zadanu Output directory, tak by to
mala byt plna absolutna cesta.

HTH
TOndrej

Odpovedá: Martin Schayna

4. 5. 2004 15:50

Petr Reichl <meap-conf@meap.cz> wrote:
> Podarilo se mi docilit toho, ze se mi IDE zastavi pri nahrani DLL,
> nicmene se tecky nezobrazi a tudiz Debugovani nefunguje ...

Jeste jednou si prosim prectete ten postup. Bod 4) se _musi_
opakovat pri kazdem spousteni host aplikace, je to opruz
ale je to tak.

1) Ctrl+Alt+M, prave tlacitko "Add Module...", pridat DLL do seznamu
2) prave tlacitko "Break On Load" nastavit na DLL
3) spustit host aplikaci F9 a pockat az se IDE zastavi pri loadnuti DLL
4) znovu Ctrl+Alt+M, prave tlacitko "Reload Symbol Table" a
vyhledat DLL
5) v IDE se objevi tecky a DLL je mozne ladit

Martin Schayna


Odpovedá: Zalesak Tomas

5. 5. 2004 8:20

> Mam mensi problem s debugovanim COM knihovny. Vytvoril jsem
> si pro ucely debugovani dalsi program, ktery importuje Type Library
> dane knihovny a vola urcitou metodu ...
>
> V projektu COM knihovny mam v Run\Parameters nastavenou cestu binarce
> toho demo projektu. Pokud spustit COM, nabehne demo projekt,
> ale Delphi mi neumozni debugovat. Proste se to na brakepointu nezastavi ...

tady je problem celkem slusne popsany + jsou tam 4 mozna reseni:
http://www.nsonic.de/Delphi/txt_WIS00637.htm

Tomas Zalesak